package com.itheima_01;

public class MethodDemo4 {
    public static void main(String[] args) {
        //基本类型的参数，形参的改变不影响实参的值
        int i = 100;
        System.out.println("调用前：" + i);
        change(i);
        System.out.println("调用后：" + i);
        //System.out.println(change(i));//定义的change()方法属于void类型，没有返回值，不能直接输出

        //引用类型的参数，形参的改变会影响实参的值
        int[] arr = {1, 2, 3};
        System.out.println("调用前：" + arr[1]);
        change(arr);
        System.out.println("调用后：" + arr[1]);

        //数组遍历
        int[] arr1 = {11, 22, 33, 44, 55};
        bianli(arr1);

        //设计一个方法用于获取数组中元素的最大值，调用方法并输出结果
        int[] arr2 = {1, 5, 7, 0, 0, 7, 6, 5, 2, 7, 0};
        MaxArray(arr2);

        int[] arr3 = {1, 5, 8, 5, 9, 7, 2};
        int max = getMax(arr3);
        System.out.println("Max:" + max);
    }

    public static void change(int i) {
        i = 200;
    }

    public static void change(int[] arr) {
        arr[1] = 20;
    }

    public static void bianli(int[] arr1) {
        System.out.print("[");
        for (int i = 0; i < arr1.length; i++) {
            if (i < (arr1.length - 1)) {
                System.out.print(arr1[i] + ",");
            } else {
                System.out.print(arr1[i]);
            }
        }
        System.out.println("]");
    }
    //方法中直接输出数组中的最大值，无返回值
    public static void MaxArray(int[] arr2) {
        int max = arr2[0];
        for (int i = 0; i < arr2.length; i++) {
            if (arr2[i] > max) {
                max = arr2[i];
            }
        }
        System.out.println("Max:" + max);
    }
    //方法中返回数组中的最大值，在main()方法中输出结果
    public static int getMax(int[] arr3) {
        int max = arr3[0];
        for (int i = 0; i < arr3.length; i++) {
            if (arr3[i] > max) {
                max = arr3[i];
            }
        }
        return max;
    }
}
